class Solution {
public:
    void moveZeroes(vector<int>& nums) {
        int right = 0;
        int left = -1;

        while (right < nums.size())
        {
            if (nums[right] != 0)
            {
                swap(nums[++left], nums[right++]);
            }
            else
                right++;
        }
        // while(right<nums.size()&&left<nums.size())
        // {
        //     while(nums[right]==0)
        //     {
        //         right++;
        //         if(right==nums.size())
        //             return ;
        //     }

        //     while(nums[left]!=0)
        //     {
        //         left++;
        //         if(left==nums.size())
        //             return ;
        //     }
        //     swap(nums[left++],nums[right++]);
        // }
    }
};